观点 | 智能合约被忽视的一面
他们说,“智能合约不具有法律效力”。
他们说得对,但是忽略了重点。
-14 世纪的壁画,由 Ambrogio Lorenzetti 创作,名为“好政府对城市生活的影响”-
Nick Szabo 创建智能合约的初衷就是要将它与法律合约区别开来。 他希望创建新的数字机构:通过代码执行合约条款,而不是通过法院。 显然,实体法院(靠纸质公文运转的效率低下的裁决中介)无法跟互联网同步。 虽然法律体制已经竭力为许多人提供服务,但迅速涌入的跨辖区交易平台将越发凸显其优势。
甚至中本聪也表示有兴趣通过比特币脚本实现各种约定。 如今,像 Tezos 这样的智能合约平台进一步发展了 Szabo 的研究成果,允许我们在互联网上与陌生人作出约定——通过代码的方式。
-在 Ambrogio Lorenzetti 壁画中,舞者与乐师在善政下得以相互协调-
为什么我们需要合约?
在一个没有合约或货币的世界里,我们只能局限于同步的易货交易——你有一个苹果,我有一条面包,我可以当场用面包换你的苹果。 然而,我们交易的越多,就越有可能陷入经济学家所谓的需求的双重偶合(double coincidence of wants)问题:我们之间达成交易的前提必须是我们同时想要对方手里的东西,而这种情况不常出现。
货币是解决这个问题的一种方法。 我可以卖了面包换到钱,然后用钱换苹果或其他物品。通过钱,我们可以把双重需求减少成单一需求:我无需持有你想交易的东西;我可以通过后续交易获得苹果。这样时间限制就被削弱了。
合约的工作原理与货币类似,但它们能促进更多潜在的交易。 合约不要求同步交换价值,甚至不需要以货币作为中介。 我现在可以把一条面包卖出去,买方可以答应下个月付款给我。 这种能力从根本上扩展了我们可以进行的交易类型。
但仍有一个问题。 你怎么确定我会履行承诺付款给你? 我们如何建立可信的约定?
履行约定
早期现代思想家托马斯·霍布斯(Thomas Hobbes)认识到了执行承诺的问题:
“言语的约束力太弱,无法抑制人们的野心、贪婪、愤怒等热烈的情绪,因为言语不具有强制力,无法威慑人们”(利维坦,第 69 页)。
此外,他认为政府的主要职能之一确保合约的强制执行。 也就是说,只有武力才能胁迫我们履行承诺。
耶鲁大学法学院教授兼前院长 Anthony Kronman 指出,国家可以被视为强制执行机器。 他还表示,如果这台机器被私有化,那么缔约方需要付费才能使用。
在 20 世纪 90 年代中期,Nick Szabo 几乎照搬强制执行机器的概念创造出了智能合约,一种可以在安全硬件上运行的合约,无需依赖法院就能强制执行合约内容。
智能合约仅仅是区块链上运行的代码吗?
然而,大约在 2013 年,加密货币领域扩展了智能合约的概念。 例如,以太坊白皮书使用“合约”泛指区块链上运行的代码。
这一新定义转移了智能合约的重点。 这些“合约”的目的尚不清晰,绝不只是简单地执行约定。 新的定义也掩盖了智能合约丰富的发展史:继 20 世纪 90 年代 Szabo 的研究成果之后,Agoric 的 Mark Miller 在 2003 年写了一篇关于拆分合约(split contracts)的论文(即由两个或以上部分组成的智能合约,其中有一些部分是依靠代码自动执行的,另一些部分——如指令仲裁——则不是)。 有的智能合约平台甚至早于互联网,例如 AMIX,美国信息交易中心,“世界上第一个针对信息和专业知识的在线市场”。AMIX 创建于 80 年代和 90 年代,堪称时代的翘楚,能让用户以顾问的角色安全地出售自己的经验。
中本聪认为履约将是比特币未来的一个重点发展方向。 中本聪在 2010 年表示:“它支持我多年前设计的各种可能实现的交易类型,例如托管交易、保税合同、第三方仲裁、多方签名等等。如果比特币得到广泛的认同”,ta 进一步解释道,“这些都会是我们未来想要探索的方向。”
Tezos 根据智能合约的原义创建了一个平台:智能合约不作为世界计算机的代码,而是一种交易的实现方式。 于此同时,Tezos 使用的区块链语言是 Michelson,这种图灵完备并指定形式的语言能支持各种不同的用例。
-《坏政府的影响》(作者:Ambrogio Lorenzetti)-
“智能合约”能否取代法律合约?
智能合约真的可以取代法律合约实现某些用途吗? 答案是肯定的,但目前这些用途很有限。
假设我想在网上销售一件商品,但不是通过 ebay ,而是点对点的交易市场。 如果是在网上向陌生人出售物品,很多情况下还需要跨越法律管辖区,会产生英国政治哲学家霍布斯指出的交易风险问题。 在交易过程中,无论谁先履行合约都要承担对方违背合约的风险。 如果卖方先发货,买方可能不会付款;如果买方先付款,卖方可能不会发货。
这个问题的解决方案是使用多重签名的智能合约,如 Milo Davis 提供的这个例子或是 OCamlPro 提供的用 Liquidity 编写的更高级别的例子。 在针对在线交易的多重签名合约中,可以要求至少获得三方(买方,卖方和中立的第三方)中任意两方的签名。 第三方可以是任何人(或任何事物!),只要能让我们相信 ta 能公正地解决争议即可。 特别要注意的是,第三方仲裁员的权力非常有限,ta 们只能在买卖双方出现争议的情况下,决定将钱汇给其中一方。 仲裁员不能私吞这笔钱或是将它汇给买卖双方以外的其他人。[1]
细心的读者可能会注意到,为了让这套机制运作起来,交易金额必须交给第三方托管。 目前,智能合约不能从账户中取钱或预先扣押未来收入。未来的研究应优先考虑如何实现非托管付款的机制,这样才能让更多类型的使用者与协议参与进来。
法律合同和自我约束型约定
另一方面,正如 Kronman 所说的,法律合约可以依赖于国家“无可匹敌的强制力”。 但是,国家权力是一种有限资源,在缺乏价格机制的情况下必须实行定量配给。 因此,法院需要分辨哪些约定值得花时间去强制执行,哪些不值得,从而衍生了一些学说,例如美国法律中的约因学说(doctrine of consideration)。
要以智能合约的形式执行某些可信约定仍需进行大量的研究。 但是,目前也有一些智能合约可以执行法律合约无法履行的约定。 例如,下图是 Milo Davis 用 Michelson 写的智能合约,它会在某个时间段内锁定一定量的 tez 币,之后它会将 tez 币发送到记录在档的合约中。
parameter unit;
storage (pair timestamp (pair tez (contract unit unit)));
return unit;
code { CDR; # Ignore the parameter
DUP; # Duplicate the storage
CAR; # Get the timestamp
NOW; # Push the current timestamp
CMPLT; # Compare to the current time
IF {FAIL} {}; # Fail if it is too soon
DUP; # Duplicate the storage value
# this must be on the bottom of the stack for us to call
transfer tokens
CDR; # Ignore the timestamp, focusing in on the
transfer data
DUP; # Duplicate the transfer information
CAR; # Get the amount of the transfer on top of
the stack
DIP{CDR}; # Put the contract underneath it
UNIT; # Put the contract’s argument type on top of
the stack
TRANSFER_TOKENS; # Make the transfer
PAIR} # Pair up to meet the calling convention
你可能会疑惑,怎么会有人会使用这样的合同。 为什么会有人想要在特定时间段内封锁自己使用代币的权限? 因为我们的短期行动往往与我们的长期目标对立,而自我约束型约定可以帮助我们解决时间贴现 (temporal discounting)造成的问题(Elster,“Ulysses Unbound”,第 25 页)。 [2]
Jon Elster(以及后来的 Cass Sunstein 与 Richard Thaler 在其著作《助推( Nudge)》 中)描述了这样一个案例。 在信用卡出现之前,家长们通过圣诞储蓄来确保他们有足够的钱购买礼物。 他们会从每笔薪水中取出一部分存到圣诞储蓄,直到 12 月才能取出。
-1954 年左右的一则圣诞储蓄广告-
法律是不承认这种单方合约的。事实上,这一概念在现代法律框架中甚至没有意义。 但是,智能合约很容易就能应用到这种自我约束型约定中,并免去了第三方之需。 自我约束型约定在交易中非常有用(正如诺贝尔奖得主经济学家 Thomas Schelling 提出的)并且可以说是宪政主义的基础(不过这一领域仍然需要大量研究)。
互联网时代的约定
随着比特币的出现,一场经济学革命已初现端倪,但我们仍在等待智能合约成为现实。 诚然,智能合约需要更多功能才能与法律合约相媲美。但是,请别忘记,大多数人无法订立法律合约,而且通过法律诉讼解决争议的成本通常会很高。 2008 年,据联合国委员会估计,全球有 40 亿人得不到法律的庇护。 尽管智能合约仍处于起步阶段,但它们或许能比传统机构更快地满足全球贫困人口的需求。 智能合约强制要求我们预先解决歧义,扩宽法律通道,且成本低于法律裁决。 作为开源软件,智能合约允许人们对强制履约进行快速实验,并以前所未有的速度提高法制能力。
延伸阅读
论文和文章
Milo Davis’ website on Michelson
“Contract Law and the State of Nature” by Anthony T. Kronman
“An Essay on Bargaining” by Thomas Schelling
书籍
Contract as Promise by Charles Fried
Ulysses Unbound by Jon Elster
[1]: 他们在决定把钱汇给卖方还是买方时依然存在受贿的可能性
[2]: 合约把 tez 币锁定起来也有利于防盗
阿剑按:作者的想法跟时下流行观点可谓针尖对麦芒:智能合约做不到法律合约能做的所有事情,但智能合约也有法律合约做不到的事情。重点是她提醒了我们,Nick Szabo 之后,有人发展了智能合约的理念,而其中可能蕴藏着启发。
原文链接: https://medium.com/tezos/the-forgotten-contracts-68a0c1d2f3de
作者: Kate Sills
翻译&校对: 哲妹 & 闵敏
本文由作者授权 EthFans 翻译及再出版。
你可能还会喜欢:
干货 | 温和的加密货币大师:尼克·萨博,Part-1<https://ethfans.org/posts/the-quiet-master-of-cryptocurrency-nick-szabo-part-1>
观点 | 不完全合约与区块链
干货 | 金融合约与智能合约